home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sprite 1984 - 1993
/
Sprite 1984 - 1993.iso
/
man
/
cmds.fmt
/
makedepend.man
< prev
next >
Wrap
Text File
|
1992-01-29
|
9KB
|
201 lines
MAKEDEPEND User Commands MAKEDEPEND
_________________________________________________________________
NNAAMMEE
makedepend - Generate dependency list for make
SSYYNNOOPPSSIISS
mmaakkeeddeeppeenndd [_o_p_t_i_o_n_s] _f_i_l_e _f_i_l_e ...
OOPPTTIIOONNSS
--DD _d_e_f Define a macro. This argument has the
same meaning as the corresponding argu-
ment to cccc.
--ff _m_a_k_e_f_i_l_e Use _m_a_k_e_f_i_l_e as the makefile to modify.
If _m_a_k_e_f_i_l_e is ``-'', mmaakkeeddeeppeenndd will
simply print dependency information on
standard output. _M_a_k_e_f_i_l_e defaults to
mmaakkeeffiillee if it exists, otherwise
MMaakkeeffiillee.
--II _i_n_c_l_u_d_e_D_i_r Search for include files in _i_n_c_l_u_d_e_D_i_r
before looking in the default system
directories. If there are many --II argu-
ments, the directories are searched in
the same order as the arguments.
--mm _t_m Use _t_m as the target machine for gen-
erating dependencies. The target
machine determines where mmaakkeeddeeppeenndd
looks for machine-dependent header files
(see below). If this option is not
specified, the target machine defaults
to the value of the $$MMAACCHHIINNEE environment
variable.
--oo _s_u_f_f_i_x Use _s_u_f_f_i_x as the suffix for the
``object'' files listed in the output.
If this argument is not specified, the
suffix defaults to ..oo.
--pp Output the full path name for each
include file. If this switch isn't
specified, then only the include file
name given in the ##iinncclluuddee statement is
output.
--ss _s_t_r_i_n_g If this switch is given, _s_t_r_i_n_g speci-
fies the comment string that identifies
the beginning of dependencies in the
makefile. _S_t_r_i_n_g must start with the
comment character ``#''.
Sprite v.1.0 Printed: January 29, 1992 1
MAKEDEPEND User Commands MAKEDEPEND
--vv Verbose mode. For each file included by
one of the _f_i_l_es, output a sequence of
comment lines that list the other
include files included by that include
file.
--ww _w_i_d_t_h Try to arrange for output lines not to
contain more than _w_i_d_t_h characters
total. If a single _f_i_l_e has multiple
dependencies then they will be grouped
onto a single line in the output file
unless this grouping would cause the
output line to exceed _w_i_d_t_h characters
in length.
_________________________________________________________________
DDEESSCCRRIIPPTTIIOONN
MMaakkeeddeeppeenndd is a program that generates dependency lines for
makefiles. It reads a collection of C source files given by
the _f_i_l_e arguments and generates a collection of lines each
having the form
ffiillee..oo:: xx..hh yy..hh //aa//bb//cc..hh
These dependency lines describe all of the include files
used directly or indirectly in compiling each source _f_i_l_e.
MMaakkeeddeeppeenndd normally inserts the dependency lines into the
file mmaakkeeffiillee if it exists, or MMaakkeeffiillee otherwise (see the
--ff option for other alternatives). To insert the dependen-
cies in a makefile, mmaakkeeddeeppeenndd searches the makefile for a
trigger line. Usually the trigger line is
## DDOO NNOOTT DDEELLEETTEE TTHHIISS LLIINNEE ---- mmaakkee ddeeppeenndd ddeeppeennddss oonn iitt..
but a different trigger string may be selected with the --ss
switch. MMaakkeeddeeppeenndd locates the trigger line, deletes all of
the information after the trigger line, and replaces it with
the dependency lines. A backup copy of the original
makefile is saved in _m_a_k_e_f_i_l_e..bbaakk~~, where _m_a_k_e_f_i_l_e is the
name of the original makefile.
MMaakkeeddeeppeenndd duplicates the actions of cccc in determining which
include files are required for each _f_i_l_e. It normally
checks for include files in the current directory, then in
//sspprriittee//lliibb//iinncclluuddee, then in //sspprriittee//lliibb//iinncclluuddee//_t_m..mmdd
(where _t_m is the target machine being compiled for; this is
either the value of the $$MMAACCHHIINNEE environment variable or the
value given in the --mm option). If --II options are given,
then those directories are searched before the standard sys-
tem directories. MMaakkeeddeeppeenndd processes conditional compila-
tion statements such as ##ddeeffiinnee and ##iiffddeeff in a fashion
Sprite v.1.0 Printed: January 29, 1992 2
MAKEDEPEND User Commands MAKEDEPEND
similar to the C preprocessor in order to consider only the
include files that would be processed by the C compiler.
You should pass the same --DD options to mmaakkeeddeeppeenndd that you
would give to cccc. MMaakkeeddeeppeenndd can also deal with ##iiff and |
##eelliiff directive, except that the only allowable expressions |
are ddeeffiinneedd((_f_o_o)) and !!ddeeffiinneedd((_f_o_o)). Any other expression |
will evaluate to false.
There are several options that control the formatting of the
dependency lines. Normally, the first field of each output
line is _x..oo, where _x is one of the _f_i_l_e arguments with the
..cc or any other suffix stripped off. However, the --oo option
may be used to place a suffix other than ..oo in the output
lines. The --pp option controls how completely the include
file names are specified in the output. If --pp is given,
then the complete path name of each header file is output.
If --pp is not given, then only the name from the actual
##iinncclluuddee statement is output (e.g., ssyyss//ffiillee..hh instead of
//sspprriittee//lliibb//iinncclluuddee//ssyyss//ffiillee..hh). This default is useful for
Pmake, which manages its own include file search path.
Finally, the --ww switch may be used to control the length of
the output lines, and the --vv switch causes extra information
about nested includes to be output in the form of comment
lines.
SSEEEE AALLSSOO
mkmf, pmake
BBUUGGSS
Can't handle arbitrary expressions following ##iiff or ##eelliiff. |
Makedepend's algorithm can cause problems in some cases. It |
only parses each include file once and generates a list of |
dependencies for that file. However, if defines are set |
differently, it could be that an include file will depend on |
two different sets of files in two different invocations. |
In this case, makedepend will return the wrong dependencies |
for the second case.
KKEEYYWWOORRDDSS
dependencies, include file, object file
Sprite v.1.0 Printed: January 29, 1992 3